package cmw.com.utils;

import android.content.Context;
import android.content.SharedPreferences;
import android.text.TextUtils;

import com.alibaba.fastjson.JSONObject;

import cmw.com.beijingnew.activity.GuideActivity;

/**
 * Created by Administrator on 2017/3/27.
 * 缓存工具类
 */

public class CacheUtil {

    public static final String CMW_GAOLAN = "cmw_gaolan";

    /**
     * 从SharedPreferences中获取boolean类型的值
     * @param key   key 值
     * @return  返回boolean值
     */
    public static boolean getBoolean(Context context, String key){
        SharedPreferences sp = context.getSharedPreferences(CMW_GAOLAN, Context.MODE_PRIVATE);
        return sp.getBoolean(key, false);
    }

    public static void putBoolean(Context context, String key, boolean b) {
        SharedPreferences sp = context.getSharedPreferences(CMW_GAOLAN, Context.MODE_PRIVATE);
        sp.edit().putBoolean(key, b).commit();
    }

    /**
     * 将 字符串 对象放入到 SharedPreferences 中
     * @param context   当前上下文
     * @param key   key 值
     * @param str  String 对象
     */
    public static void putString(Context context, String key, String str) {
        SharedPreferences sp = context.getSharedPreferences(CMW_GAOLAN, Context.MODE_PRIVATE);
        sp.edit().putString(key, str).commit();
    }

    /**
     * 从SharedPreferences中获取String类型的值
     * @param key   key 值
     * @return  返回String值
     */
    public static String getString(Context context, String key){
        SharedPreferences sp = context.getSharedPreferences(CMW_GAOLAN, Context.MODE_PRIVATE);
        return sp.getString(key,"");
    }

    /**
     * 将 JSON 对象放入到 SharedPreferences 中
     * @param context   当前上下文
     * @param key   key 值
     * @param json  JSON 对象
     */
    public static void putJson(Context context, String key, JSONObject json) {
        SharedPreferences sp = context.getSharedPreferences(CMW_GAOLAN, Context.MODE_PRIVATE);
        String str = JsonUtil.convertJsonToStr(json);
        sp.edit().putString(key, str).commit();
    }

    /**
     * 从SharedPreferences中获取JSONObject类型的值
     * @param key   key 值
     * @return  返回JSONObject对象
     */
    public static JSONObject getJson(Context context, String key){
        SharedPreferences sp = context.getSharedPreferences(CMW_GAOLAN, Context.MODE_PRIVATE);
        String str = sp.getString(key, null);
        JSONObject json = null;
        if(!TextUtils.isEmpty(str)){
            json = JsonUtil.convertStrToJSONObj(str);
        }
        return json;
    }
}
